package com.galaxy.coupon.domain.convert;

import com.galaxy.coupon.domain.UserCoupon;
import com.galaxy.coupon.domain.bo.UserCouponBo;
import com.galaxy.coupon.domain.vo.UserCouponVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 用户优惠券对象转换器
 */
@Mapper
public interface UserCouponConvert {
    UserCouponConvert INSTANCE = Mappers.getMapper(UserCouponConvert.class);

    /**
     * 实体转BO
     */
    UserCouponBo convert(UserCoupon bean);

    /**
     * 实体列表转BO列表
     */
    List<UserCouponBo> convertList(List<UserCoupon> list);

    /**
     * 实体转VO
     */
    UserCouponVo convertVo(UserCoupon bean);

    /**
     * 实体列表转VO列表
     */
    List<UserCouponVo> convertVoList(List<UserCoupon> list);

    /**
     * BO转实体
     */
    UserCoupon convert(UserCouponBo bo);

    /**
     * BO列表转实体列表
     */
    List<UserCoupon> convertListBo(List<UserCouponBo> list);

    /**
     * VO转BO
     */
    UserCouponBo convert(UserCouponVo vo);
} 